package com.ithrima.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;

import java.util.List;

/**
 * 查询当前用户的任务列表
 */
public class ActivitiTaskQuery {

    public static void main(String[] args) {
        //1. 得到processEngine对象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        //2. 得到TaskService对象
        TaskService taskService = processEngine.getTaskService();
        //3. 根据流程定义的key，负责人assignee来实现当前用户的任务列表的查询
        Task task = taskService.createTaskQuery()
                .processDefinitionKey("myProcess_1").taskAssignee("李四").singleResult();
        //4. 任务展示

        System.out.println("流程实例ID:" + task.getProcessInstanceId());
        System.out.println("任务ID:" + task.getId());
        System.out.println("负责人:" + task.getAssignee());
        System.out.println("描述信息:" + task.getDescription());
        System.out.println("任务名称:" + task.getName());


    }


    //  张三完成查询节点操作
//    public static void main(String[] args) {
//        //1. 得到processEngine对象
//        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//        //2. 得到TaskService对象
//        TaskService taskService = processEngine.getTaskService();
//        //3. 根据流程定义的key，负责人assignee来实现当前用户的任务列表的查询
//        List<Task> list = taskService.createTaskQuery().processDefinitionKey("myProcess_1").taskAssignee("张三").list();
//        //4. 任务展示
//        for (Task task : list) {
//            System.out.println("流程实例ID:"+task.getProcessInstanceId());
//            System.out.println("任务ID:"+task.getId());
//            System.out.println("负责人:"+task.getAssignee());
//            System.out.println("描述信息:"+task.getDescription());
//            System.out.println("任务名称:"+task.getName());
//
//        }
//
//    }

}
